package {{package}};

{{#imports}}import {{import}}
{{/imports}}

import io.micronaut.http.annotation.Body;
import io.micronaut.http.annotation.RequestAttribute;
import {{javaxPackage}}.annotation.Nullable;
import {{javaxPackage}}.ws.rs.*
import {{javaxPackage}}.ws.rs.core.Response

{{#useSwaggerAnnotations}}
    import io.swagger.annotations.*
{{/useSwaggerAnnotations}}
{{#useBeanValidation}}
    import {{javaxPackage}}.validation.constraints.*
    import {{javaxPackage}}.validation.Valid
{{/useBeanValidation}}

@Path("{{contextPath}}{{commonPath}}")
{{#useSwaggerAnnotations}}
    @Api(description = "the {{{baseName}}} API"){{/useSwaggerAnnotations}}{{#hasConsumes}}
    @Consumes({ {{#consumes}}"{{{mediaType}}}"{{^-last}}, {{/-last}}{{/consumes}} }){{/hasConsumes}}{{#hasProduces}}
    @Produces({ {{#produces}}"{{{mediaType}}}"{{^-last}}, {{/-last}}{{/produces}} }){{/hasProduces}}
{{>generatedAnnotation}}
{{#interfaceOnly}}interface{{/interfaceOnly}}{{^interfaceOnly}}class{{/interfaceOnly}} {{classname}} {
{{#operations}}
    {{#operation}}

        {{#interfaceOnly}}{{>apiInterface}}{{/interfaceOnly}}{{^interfaceOnly}}{{>apiMethod}}{{/interfaceOnly}}
    {{/operation}}
    }
{{/operations}}